Applicants believe there is an important need for providing new and useful tools for facilitating user understanding of a domain of knowledge. Facilitating user understanding of a domain of knowledge can be useful for various purposes, e.g., as a teaching tool or reference tool about the domain of knowledge, or as a tool for facilitating user understanding of a domain of knowledge underlying a knowledge-based system (e.g., an expert system). For example, in the applicants' experience, when a user requests an expert system to explain its conclusions or its reasoning, the system typically provides the specific logic behind its conclusion or its reasoning (e.g., the system would respond by explaining ". . . data parts A, B & C, lead to inference D; data part E, coupled with inference D, lead to conclusion F . . . "). Alternatively, with some types of expert systems, when a user makes a request for an explanation of a system's conclusion or its reasoning, the system provides a fixed or "canned" response to the explanation request.
In applicants' view, such approaches to explanation, while useful to some degree, leave significant areas for improvement. For example, an expert system should have an explanation facility which provides the user with a fuller understanding of the expert's domain of knowledge underlying the expert system. Moreover, the explanation facility should provide the user with the ability to interact with and explore (navigate) a particular domain of knowledge, thereby enabling the system to be used as a teaching or reference tool.